import * as GObject from './GObject-2.0';

const inheritanceTable: { [key: string]: string[] } = {
    'Gtk.AboutDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.AccelGroup': [
    'GObject.Object',
],
    'Gtk.AccelLabel': [
    'Gtk.Label',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Misc',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.AccelMap': [
    'GObject.Object',
],
    'Gtk.Accessible': [
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Action': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Gtk.ActionBar': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ActionGroup': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Gtk.Adjustment': [
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Alignment': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.AppChooserButton': [
    'Gtk.ComboBox',
    'Atk.ImplementorIface',
    'Gtk.AppChooser',
    'Gtk.Buildable',
    'Gtk.CellEditable',
    'Gtk.CellLayout',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.AppChooserDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.AppChooser',
    'Gtk.Buildable',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.AppChooserWidget': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.AppChooser',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Application': [
    'Gio.Application',
    'Gio.ActionGroup',
    'Gio.ActionMap',
    'GObject.Object',
],
    'Gtk.ApplicationWindow': [
    'Gtk.Window',
    'Atk.ImplementorIface',
    'Gio.ActionGroup',
    'Gio.ActionMap',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Arrow': [
    'Gtk.Misc',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ArrowAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Atk.Image',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.AspectFrame': [
    'Gtk.Frame',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Assistant': [
    'Gtk.Window',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Bin': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.BooleanCellAccessible': [
    'Gtk.RendererCellAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.TableCell',
    'Gtk.CellAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Box': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Builder': [
    'GObject.Object',
],
    'Gtk.Button': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ButtonAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Image',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ButtonBox': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Calendar': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellAccessible': [
    'Gtk.Accessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.TableCell',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.CellArea': [
    'GObject.InitiallyUnowned',
    'Gtk.Buildable',
    'Gtk.CellLayout',
    'GObject.Object',
],
    'Gtk.CellAreaBox': [
    'Gtk.CellArea',
    'Gtk.Buildable',
    'Gtk.CellLayout',
    'Gtk.Orientable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellAreaContext': [
    'GObject.Object',
],
    'Gtk.CellRenderer': [
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererAccel': [
    'Gtk.CellRendererText',
    'Gtk.CellRenderer',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererCombo': [
    'Gtk.CellRendererText',
    'Gtk.CellRenderer',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererPixbuf': [
    'Gtk.CellRenderer',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererProgress': [
    'Gtk.CellRenderer',
    'Gtk.Orientable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererSpin': [
    'Gtk.CellRendererText',
    'Gtk.CellRenderer',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererSpinner': [
    'Gtk.CellRenderer',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererText': [
    'Gtk.CellRenderer',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellRendererToggle': [
    'Gtk.CellRenderer',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CellView': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.CellLayout',
    'Gtk.Orientable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CheckButton': [
    'Gtk.ToggleButton',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Button',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CheckMenuItem': [
    'Gtk.MenuItem',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.CheckMenuItemAccessible': [
    'Gtk.MenuItemAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Clipboard': [
    'GObject.Object',
],
    'Gtk.ColorButton': [
    'Gtk.Button',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.ColorChooser',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ColorChooserDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.ColorChooser',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ColorChooserWidget': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.ColorChooser',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ColorSelection': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ColorSelectionDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ComboBox': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.CellEditable',
    'Gtk.CellLayout',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ComboBoxAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ComboBoxText': [
    'Gtk.ComboBox',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.CellEditable',
    'Gtk.CellLayout',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Container': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ContainerAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ContainerCellAccessible': [
    'Gtk.CellAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.TableCell',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.CssProvider': [
    'GObject.Object',
    'Gtk.StyleProvider',
],
    'Gtk.Dialog': [
    'Gtk.Window',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.DrawingArea': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Entry': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.CellEditable',
    'Gtk.Editable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.EntryAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.EditableText',
    'Atk.Text',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.EntryBuffer': [
    'GObject.Object',
],
    'Gtk.EntryCompletion': [
    'GObject.Object',
    'Gtk.Buildable',
    'Gtk.CellLayout',
],
    'Gtk.EntryIconAccessible': [
    'Atk.Object',
    'Atk.Action',
    'Atk.Component',
    'GObject.Object',
],
    'Gtk.EventBox': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.EventController': [
    'GObject.Object',
],
    'Gtk.EventControllerKey': [
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.EventControllerMotion': [
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.EventControllerScroll': [
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.Expander': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ExpanderAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Action',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.FileChooserButton': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.FileChooser',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FileChooserDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.FileChooser',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FileChooserNative': [
    'Gtk.NativeDialog',
    'Gtk.FileChooser',
    'GObject.Object',
],
    'Gtk.FileChooserWidget': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.FileChooser',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FileChooserWidgetAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Action',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.FileFilter': [
    'GObject.InitiallyUnowned',
    'Gtk.Buildable',
    'GObject.Object',
],
    'Gtk.Fixed': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FlowBox': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FlowBoxAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.FlowBoxChild': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FlowBoxChildAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.FontButton': [
    'Gtk.Button',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.FontChooser',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FontChooserDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.FontChooser',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FontChooserWidget': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.FontChooser',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FontSelection': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FontSelectionDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Frame': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.FrameAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.GLArea': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Gesture': [
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureDrag': [
    'Gtk.GestureSingle',
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureLongPress': [
    'Gtk.GestureSingle',
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureMultiPress': [
    'Gtk.GestureSingle',
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GesturePan': [
    'Gtk.GestureDrag',
    'Gtk.GestureSingle',
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureRotate': [
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureSingle': [
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureStylus': [
    'Gtk.GestureSingle',
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureSwipe': [
    'Gtk.GestureSingle',
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.GestureZoom': [
    'Gtk.Gesture',
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.Grid': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HBox': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HButtonBox': [
    'Gtk.ButtonBox',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Box',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HPaned': [
    'Gtk.Paned',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HSV': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HScale': [
    'Gtk.Scale',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Range',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HScrollbar': [
    'Gtk.Scrollbar',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Range',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HSeparator': [
    'Gtk.Separator',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HandleBox': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HeaderBar': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.HeaderBarAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.IMContext': [
    'GObject.Object',
],
    'Gtk.IMContextSimple': [
    'Gtk.IMContext',
    'GObject.Object',
],
    'Gtk.IMMulticontext': [
    'Gtk.IMContext',
    'GObject.Object',
],
    'Gtk.IconFactory': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Gtk.IconInfo': [
    'GObject.Object',
],
    'Gtk.IconTheme': [
    'GObject.Object',
],
    'Gtk.IconView': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.CellLayout',
    'Gtk.Scrollable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.IconViewAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Image': [
    'Gtk.Misc',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ImageAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Atk.Image',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ImageCellAccessible': [
    'Gtk.RendererCellAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Image',
    'Atk.TableCell',
    'Gtk.CellAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ImageMenuItem': [
    'Gtk.MenuItem',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.InfoBar': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Invisible': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Label': [
    'Gtk.Misc',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.LabelAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Atk.Hypertext',
    'Atk.Text',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Layout': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Scrollable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.LevelBar': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.LevelBarAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Atk.Value',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.LinkButton': [
    'Gtk.Button',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.LinkButtonAccessible': [
    'Gtk.ButtonAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.HyperlinkImpl',
    'Atk.Image',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ListBox': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ListBoxAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ListBoxRow': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ListBoxRowAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ListStore': [
    'GObject.Object',
    'Gtk.Buildable',
    'Gtk.TreeDragDest',
    'Gtk.TreeDragSource',
    'Gtk.TreeModel',
    'Gtk.TreeSortable',
],
    'Gtk.LockButton': [
    'Gtk.Button',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.LockButtonAccessible': [
    'Gtk.ButtonAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Image',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Menu': [
    'Gtk.MenuShell',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.MenuAccessible': [
    'Gtk.MenuShellAccessible',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.MenuBar': [
    'Gtk.MenuShell',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.MenuButton': [
    'Gtk.ToggleButton',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Button',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.MenuButtonAccessible': [
    'Gtk.ToggleButtonAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Image',
    'Gtk.ButtonAccessible',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.MenuItem': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.MenuItemAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.MenuShell': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.MenuShellAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.MenuToolButton': [
    'Gtk.ToolButton',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.ToolItem',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.MessageDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Misc': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ModelButton': [
    'Gtk.Button',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.MountOperation': [
    'Gio.MountOperation',
    'GObject.Object',
],
    'Gtk.NativeDialog': [
    'GObject.Object',
],
    'Gtk.Notebook': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.NotebookAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.NotebookPageAccessible': [
    'Atk.Object',
    'Atk.Component',
    'GObject.Object',
],
    'Gtk.NumerableIcon': [
    'Gio.EmblemedIcon',
    'Gio.Icon',
    'GObject.Object',
],
    'Gtk.OffscreenWindow': [
    'Gtk.Window',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Overlay': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.PadController': [
    'Gtk.EventController',
    'GObject.Object',
],
    'Gtk.PageSetup': [
    'GObject.Object',
],
    'Gtk.Paned': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.PanedAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Value',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.PlacesSidebar': [
    'Gtk.ScrolledWindow',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Plug': [
    'Gtk.Window',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.PlugAccessible': [
    'Gtk.WindowAccessible',
    'Atk.Component',
    'Atk.Window',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Popover': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.PopoverAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.PopoverMenu': [
    'Gtk.Popover',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.PrintContext': [
    'GObject.Object',
],
    'Gtk.PrintOperation': [
    'GObject.Object',
    'Gtk.PrintOperationPreview',
],
    'Gtk.PrintSettings': [
    'GObject.Object',
],
    'Gtk.ProgressBar': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ProgressBarAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Atk.Value',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.RadioAction': [
    'Gtk.ToggleAction',
    'Gtk.Buildable',
    'Gtk.Action',
    'GObject.Object',
],
    'Gtk.RadioButton': [
    'Gtk.CheckButton',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.ToggleButton',
    'Gtk.Button',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.RadioButtonAccessible': [
    'Gtk.ToggleButtonAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Image',
    'Gtk.ButtonAccessible',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.RadioMenuItem': [
    'Gtk.CheckMenuItem',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.MenuItem',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.RadioMenuItemAccessible': [
    'Gtk.CheckMenuItemAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Selection',
    'Gtk.MenuItemAccessible',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.RadioToolButton': [
    'Gtk.ToggleToolButton',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.ToolButton',
    'Gtk.ToolItem',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Range': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.RangeAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Atk.Value',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.RcStyle': [
    'GObject.Object',
],
    'Gtk.RecentAction': [
    'Gtk.Action',
    'Gtk.Buildable',
    'Gtk.RecentChooser',
    'GObject.Object',
],
    'Gtk.RecentChooserDialog': [
    'Gtk.Dialog',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.RecentChooser',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.RecentChooserMenu': [
    'Gtk.Menu',
    'Atk.ImplementorIface',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.RecentChooser',
    'Gtk.MenuShell',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.RecentChooserWidget': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.RecentChooser',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.RecentFilter': [
    'GObject.InitiallyUnowned',
    'Gtk.Buildable',
    'GObject.Object',
],
    'Gtk.RecentManager': [
    'GObject.Object',
],
    'Gtk.RendererCellAccessible': [
    'Gtk.CellAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.TableCell',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Revealer': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Scale': [
    'Gtk.Range',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ScaleAccessible': [
    'Gtk.RangeAccessible',
    'Atk.Component',
    'Atk.Value',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ScaleButton': [
    'Gtk.Button',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ScaleButtonAccessible': [
    'Gtk.ButtonAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Image',
    'Atk.Value',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Scrollbar': [
    'Gtk.Range',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ScrolledWindow': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ScrolledWindowAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.SearchBar': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SearchEntry': [
    'Gtk.Entry',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.CellEditable',
    'Gtk.Editable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Separator': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SeparatorMenuItem': [
    'Gtk.MenuItem',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SeparatorToolItem': [
    'Gtk.ToolItem',
    'Atk.ImplementorIface',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Settings': [
    'GObject.Object',
    'Gtk.StyleProvider',
],
    'Gtk.ShortcutLabel': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ShortcutsGroup': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ShortcutsSection': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ShortcutsShortcut': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ShortcutsWindow': [
    'Gtk.Window',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SizeGroup': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Gtk.Socket': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SocketAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.SpinButton': [
    'Gtk.Entry',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.CellEditable',
    'Gtk.Editable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SpinButtonAccessible': [
    'Gtk.EntryAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.EditableText',
    'Atk.Text',
    'Atk.Value',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Spinner': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SpinnerAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Component',
    'Atk.Image',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Stack': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.StackAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.StackSidebar': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.StackSwitcher': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.StatusIcon': [
    'GObject.Object',
],
    'Gtk.Statusbar': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.StatusbarAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Style': [
    'GObject.Object',
],
    'Gtk.StyleContext': [
    'GObject.Object',
],
    'Gtk.StyleProperties': [
    'GObject.Object',
    'Gtk.StyleProvider',
],
    'Gtk.Switch': [
    'Gtk.Widget',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.SwitchAccessible': [
    'Gtk.WidgetAccessible',
    'Atk.Action',
    'Atk.Component',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Table': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.TearoffMenuItem': [
    'Gtk.MenuItem',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.TextBuffer': [
    'GObject.Object',
],
    'Gtk.TextCellAccessible': [
    'Gtk.RendererCellAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.TableCell',
    'Atk.Text',
    'Gtk.CellAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.TextChildAnchor': [
    'GObject.Object',
],
    'Gtk.TextMark': [
    'GObject.Object',
],
    'Gtk.TextTag': [
    'GObject.Object',
],
    'Gtk.TextTagTable': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Gtk.TextView': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Scrollable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.TextViewAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.EditableText',
    'Atk.StreamableContent',
    'Atk.Text',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ThemingEngine': [
    'GObject.Object',
],
    'Gtk.ToggleAction': [
    'Gtk.Action',
    'Gtk.Buildable',
    'GObject.Object',
],
    'Gtk.ToggleButton': [
    'Gtk.Button',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ToggleButtonAccessible': [
    'Gtk.ButtonAccessible',
    'Atk.Action',
    'Atk.Component',
    'Atk.Image',
    'Gtk.ContainerAccessible',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.ToggleToolButton': [
    'Gtk.ToolButton',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.ToolItem',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ToolButton': [
    'Gtk.ToolItem',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ToolItem': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ToolItemGroup': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.ToolShell',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.ToolPalette': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Scrollable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Toolbar': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.ToolShell',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Tooltip': [
    'GObject.Object',
],
    'Gtk.ToplevelAccessible': [
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.TreeModelFilter': [
    'GObject.Object',
    'Gtk.TreeDragSource',
    'Gtk.TreeModel',
],
    'Gtk.TreeModelSort': [
    'GObject.Object',
    'Gtk.TreeDragSource',
    'Gtk.TreeModel',
    'Gtk.TreeSortable',
],
    'Gtk.TreeSelection': [
    'GObject.Object',
],
    'Gtk.TreeStore': [
    'GObject.Object',
    'Gtk.Buildable',
    'Gtk.TreeDragDest',
    'Gtk.TreeDragSource',
    'Gtk.TreeModel',
    'Gtk.TreeSortable',
],
    'Gtk.TreeView': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Scrollable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.TreeViewAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Selection',
    'Atk.Table',
    'Gtk.CellAccessibleParent',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.TreeViewColumn': [
    'GObject.InitiallyUnowned',
    'Gtk.Buildable',
    'Gtk.CellLayout',
    'GObject.Object',
],
    'Gtk.UIManager': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Gtk.VBox': [
    'Gtk.Box',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.VButtonBox': [
    'Gtk.ButtonBox',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Box',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.VPaned': [
    'Gtk.Paned',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.VScale': [
    'Gtk.Scale',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Range',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.VScrollbar': [
    'Gtk.Scrollbar',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Range',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.VSeparator': [
    'Gtk.Separator',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Viewport': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Scrollable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.VolumeButton': [
    'Gtk.ScaleButton',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Activatable',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Button',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.Widget': [
    'GObject.InitiallyUnowned',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'GObject.Object',
],
    'Gtk.WidgetAccessible': [
    'Gtk.Accessible',
    'Atk.Component',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.Window': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Gtk.WindowAccessible': [
    'Gtk.ContainerAccessible',
    'Atk.Component',
    'Atk.Window',
    'Gtk.WidgetAccessible',
    'Gtk.Accessible',
    'Atk.Object',
    'GObject.Object',
],
    'Gtk.WindowGroup': [
    'GObject.Object',
],
    'Handy.ActionRow': [
    'Handy.PreferencesRow',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Buildable',
    'Gtk.ListBoxRow',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.ApplicationWindow': [
    'Gtk.ApplicationWindow',
    'Atk.ImplementorIface',
    'Gio.ActionGroup',
    'Gio.ActionMap',
    'Gtk.Buildable',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Avatar': [
    'Gtk.DrawingArea',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Carousel': [
    'Gtk.EventBox',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Handy.Swipeable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.CarouselIndicatorDots': [
    'Gtk.DrawingArea',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.CarouselIndicatorLines': [
    'Gtk.DrawingArea',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Clamp': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.ComboRow': [
    'Handy.ActionRow',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Buildable',
    'Handy.PreferencesRow',
    'Gtk.ListBoxRow',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Deck': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Handy.Swipeable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.EnumValueObject': [
    'GObject.Object',
],
    'Handy.ExpanderRow': [
    'Handy.PreferencesRow',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Buildable',
    'Gtk.ListBoxRow',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Flap': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Handy.Swipeable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.HeaderBar': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.HeaderGroup': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Handy.HeaderGroupChild': [
    'GObject.Object',
],
    'Handy.Keypad': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Leaflet': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Handy.Swipeable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.PreferencesGroup': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.PreferencesPage': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.PreferencesRow': [
    'Gtk.ListBoxRow',
    'Atk.ImplementorIface',
    'Gtk.Actionable',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.PreferencesWindow': [
    'Handy.Window',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Window',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.SearchBar': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Squeezer': [
    'Gtk.Container',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Orientable',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.StatusPage': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.SwipeGroup': [
    'GObject.Object',
    'Gtk.Buildable',
],
    'Handy.SwipeTracker': [
    'GObject.Object',
    'Gtk.Orientable',
],
    'Handy.TabBar': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.TabPage': [
    'GObject.Object',
],
    'Handy.TabView': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.TitleBar': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.ValueObject': [
    'GObject.Object',
],
    'Handy.ViewSwitcher': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.ViewSwitcherBar': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.ViewSwitcherTitle': [
    'Gtk.Bin',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.Window': [
    'Gtk.Window',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Handy.WindowHandle': [
    'Gtk.EventBox',
    'Atk.ImplementorIface',
    'Gtk.Buildable',
    'Gtk.Bin',
    'Gtk.Container',
    'Gtk.Widget',
    'GObject.InitiallyUnowned',
    'GObject.Object',
],
    'Notify.Notification': [
    'GObject.Object',
],
    'Gdk.AppLaunchContext': [
    'Gio.AppLaunchContext',
    'GObject.Object',
],
    'Gdk.Cursor': [
    'GObject.Object',
],
    'Gdk.Device': [
    'GObject.Object',
],
    'Gdk.DeviceManager': [
    'GObject.Object',
],
    'Gdk.DeviceTool': [
    'GObject.Object',
],
    'Gdk.Display': [
    'GObject.Object',
],
    'Gdk.DisplayManager': [
    'GObject.Object',
],
    'Gdk.DragContext': [
    'GObject.Object',
],
    'Gdk.DrawingContext': [
    'GObject.Object',
],
    'Gdk.FrameClock': [
    'GObject.Object',
],
    'Gdk.GLContext': [
    'GObject.Object',
],
    'Gdk.Keymap': [
    'GObject.Object',
],
    'Gdk.Monitor': [
    'GObject.Object',
],
    'Gdk.Screen': [
    'GObject.Object',
],
    'Gdk.Seat': [
    'GObject.Object',
],
    'Gdk.Visual': [
    'GObject.Object',
],
    'Gdk.Window': [
    'GObject.Object',
],
    'Atk.GObjectAccessible': [
    'Atk.Object',
    'GObject.Object',
],
    'Atk.Hyperlink': [
    'GObject.Object',
    'Atk.Action',
],
    'Atk.Misc': [
    'GObject.Object',
],
    'Atk.NoOpObject': [
    'Atk.Object',
    'Atk.Action',
    'Atk.Component',
    'Atk.Document',
    'Atk.EditableText',
    'Atk.Hypertext',
    'Atk.Image',
    'Atk.Selection',
    'Atk.Table',
    'Atk.TableCell',
    'Atk.Text',
    'Atk.Value',
    'Atk.Window',
    'GObject.Object',
],
    'Atk.NoOpObjectFactory': [
    'Atk.ObjectFactory',
    'GObject.Object',
],
    'Atk.Object': [
    'GObject.Object',
],
    'Atk.ObjectFactory': [
    'GObject.Object',
],
    'Atk.Plug': [
    'Atk.Object',
    'Atk.Component',
    'GObject.Object',
],
    'Atk.Registry': [
    'GObject.Object',
],
    'Atk.Relation': [
    'GObject.Object',
],
    'Atk.RelationSet': [
    'GObject.Object',
],
    'Atk.Socket': [
    'Atk.Object',
    'Atk.Component',
    'GObject.Object',
],
    'Atk.StateSet': [
    'GObject.Object',
],
    'Atk.Util': [
    'GObject.Object',
],
    'Pango.Context': [
    'GObject.Object',
],
    'Pango.Coverage': [
    'GObject.Object',
],
    'Pango.Font': [
    'GObject.Object',
],
    'Pango.FontFace': [
    'GObject.Object',
],
    'Pango.FontFamily': [
    'GObject.Object',
],
    'Pango.FontMap': [
    'GObject.Object',
],
    'Pango.Fontset': [
    'GObject.Object',
],
    'Pango.FontsetSimple': [
    'Pango.Fontset',
    'GObject.Object',
],
    'Pango.Layout': [
    'GObject.Object',
],
    'Pango.Renderer': [
    'GObject.Object',
],
    'Gio.AppInfoMonitor': [
    'GObject.Object',
],
    'Gio.AppLaunchContext': [
    'GObject.Object',
],
    'Gio.Application': [
    'GObject.Object',
    'Gio.ActionGroup',
    'Gio.ActionMap',
],
    'Gio.ApplicationCommandLine': [
    'GObject.Object',
],
    'Gio.BufferedInputStream': [
    'Gio.FilterInputStream',
    'Gio.Seekable',
    'Gio.InputStream',
    'GObject.Object',
],
    'Gio.BufferedOutputStream': [
    'Gio.FilterOutputStream',
    'Gio.Seekable',
    'Gio.OutputStream',
    'GObject.Object',
],
    'Gio.BytesIcon': [
    'GObject.Object',
    'Gio.Icon',
    'Gio.LoadableIcon',
],
    'Gio.Cancellable': [
    'GObject.Object',
],
    'Gio.CharsetConverter': [
    'GObject.Object',
    'Gio.Converter',
    'Gio.Initable',
],
    'Gio.ConverterInputStream': [
    'Gio.FilterInputStream',
    'Gio.PollableInputStream',
    'Gio.InputStream',
    'GObject.Object',
],
    'Gio.ConverterOutputStream': [
    'Gio.FilterOutputStream',
    'Gio.PollableOutputStream',
    'Gio.OutputStream',
    'GObject.Object',
],
    'Gio.Credentials': [
    'GObject.Object',
],
    'Gio.DBusActionGroup': [
    'GObject.Object',
    'Gio.ActionGroup',
    'Gio.RemoteActionGroup',
],
    'Gio.DBusAuthObserver': [
    'GObject.Object',
],
    'Gio.DBusConnection': [
    'GObject.Object',
    'Gio.AsyncInitable',
    'Gio.Initable',
],
    'Gio.DBusInterfaceSkeleton': [
    'GObject.Object',
    'Gio.DBusInterface',
],
    'Gio.DBusMenuModel': [
    'Gio.MenuModel',
    'GObject.Object',
],
    'Gio.DBusMessage': [
    'GObject.Object',
],
    'Gio.DBusMethodInvocation': [
    'GObject.Object',
],
    'Gio.DBusObjectManagerClient': [
    'GObject.Object',
    'Gio.AsyncInitable',
    'Gio.DBusObjectManager',
    'Gio.Initable',
],
    'Gio.DBusObjectManagerServer': [
    'GObject.Object',
    'Gio.DBusObjectManager',
],
    'Gio.DBusObjectProxy': [
    'GObject.Object',
    'Gio.DBusObject',
],
    'Gio.DBusObjectSkeleton': [
    'GObject.Object',
    'Gio.DBusObject',
],
    'Gio.DBusProxy': [
    'GObject.Object',
    'Gio.AsyncInitable',
    'Gio.DBusInterface',
    'Gio.Initable',
],
    'Gio.DBusServer': [
    'GObject.Object',
    'Gio.Initable',
],
    'Gio.DataInputStream': [
    'Gio.BufferedInputStream',
    'Gio.Seekable',
    'Gio.FilterInputStream',
    'Gio.InputStream',
    'GObject.Object',
],
    'Gio.DataOutputStream': [
    'Gio.FilterOutputStream',
    'Gio.Seekable',
    'Gio.OutputStream',
    'GObject.Object',
],
    'Gio.DesktopAppInfo': [
    'GObject.Object',
    'Gio.AppInfo',
],
    'Gio.Emblem': [
    'GObject.Object',
    'Gio.Icon',
],
    'Gio.EmblemedIcon': [
    'GObject.Object',
    'Gio.Icon',
],
    'Gio.FileEnumerator': [
    'GObject.Object',
],
    'Gio.FileIOStream': [
    'Gio.IOStream',
    'Gio.Seekable',
    'GObject.Object',
],
    'Gio.FileIcon': [
    'GObject.Object',
    'Gio.Icon',
    'Gio.LoadableIcon',
],
    'Gio.FileInfo': [
    'GObject.Object',
],
    'Gio.FileInputStream': [
    'Gio.InputStream',
    'Gio.Seekable',
    'GObject.Object',
],
    'Gio.FileMonitor': [
    'GObject.Object',
],
    'Gio.FileOutputStream': [
    'Gio.OutputStream',
    'Gio.Seekable',
    'GObject.Object',
],
    'Gio.FilenameCompleter': [
    'GObject.Object',
],
    'Gio.FilterInputStream': [
    'Gio.InputStream',
    'GObject.Object',
],
    'Gio.FilterOutputStream': [
    'Gio.OutputStream',
    'GObject.Object',
],
    'Gio.IOModule': [
    'GObject.TypeModule',
    'GObject.TypePlugin',
    'GObject.Object',
],
    'Gio.IOStream': [
    'GObject.Object',
],
    'Gio.InetAddress': [
    'GObject.Object',
],
    'Gio.InetAddressMask': [
    'GObject.Object',
    'Gio.Initable',
],
    'Gio.InetSocketAddress': [
    'Gio.SocketAddress',
    'Gio.SocketConnectable',
    'GObject.Object',
],
    'Gio.InputStream': [
    'GObject.Object',
],
    'Gio.ListStore': [
    'GObject.Object',
    'Gio.ListModel',
],
    'Gio.MemoryInputStream': [
    'Gio.InputStream',
    'Gio.PollableInputStream',
    'Gio.Seekable',
    'GObject.Object',
],
    'Gio.MemoryOutputStream': [
    'Gio.OutputStream',
    'Gio.PollableOutputStream',
    'Gio.Seekable',
    'GObject.Object',
],
    'Gio.Menu': [
    'Gio.MenuModel',
    'GObject.Object',
],
    'Gio.MenuAttributeIter': [
    'GObject.Object',
],
    'Gio.MenuItem': [
    'GObject.Object',
],
    'Gio.MenuLinkIter': [
    'GObject.Object',
],
    'Gio.MenuModel': [
    'GObject.Object',
],
    'Gio.MountOperation': [
    'GObject.Object',
],
    'Gio.NativeSocketAddress': [
    'Gio.SocketAddress',
    'Gio.SocketConnectable',
    'GObject.Object',
],
    'Gio.NativeVolumeMonitor': [
    'Gio.VolumeMonitor',
    'GObject.Object',
],
    'Gio.NetworkAddress': [
    'GObject.Object',
    'Gio.SocketConnectable',
],
    'Gio.NetworkService': [
    'GObject.Object',
    'Gio.SocketConnectable',
],
    'Gio.Notification': [
    'GObject.Object',
],
    'Gio.OutputStream': [
    'GObject.Object',
],
    'Gio.Permission': [
    'GObject.Object',
],
    'Gio.PropertyAction': [
    'GObject.Object',
    'Gio.Action',
],
    'Gio.ProxyAddress': [
    'Gio.InetSocketAddress',
    'Gio.SocketConnectable',
    'Gio.SocketAddress',
    'GObject.Object',
],
    'Gio.ProxyAddressEnumerator': [
    'Gio.SocketAddressEnumerator',
    'GObject.Object',
],
    'Gio.Resolver': [
    'GObject.Object',
],
    'Gio.Settings': [
    'GObject.Object',
],
    'Gio.SettingsBackend': [
    'GObject.Object',
],
    'Gio.SimpleAction': [
    'GObject.Object',
    'Gio.Action',
],
    'Gio.SimpleActionGroup': [
    'GObject.Object',
    'Gio.ActionGroup',
    'Gio.ActionMap',
],
    'Gio.SimpleAsyncResult': [
    'GObject.Object',
    'Gio.AsyncResult',
],
    'Gio.SimpleIOStream': [
    'Gio.IOStream',
    'GObject.Object',
],
    'Gio.SimplePermission': [
    'Gio.Permission',
    'GObject.Object',
],
    'Gio.SimpleProxyResolver': [
    'GObject.Object',
    'Gio.ProxyResolver',
],
    'Gio.Socket': [
    'GObject.Object',
    'Gio.DatagramBased',
    'Gio.Initable',
],
    'Gio.SocketAddress': [
    'GObject.Object',
    'Gio.SocketConnectable',
],
    'Gio.SocketAddressEnumerator': [
    'GObject.Object',
],
    'Gio.SocketClient': [
    'GObject.Object',
],
    'Gio.SocketConnection': [
    'Gio.IOStream',
    'GObject.Object',
],
    'Gio.SocketControlMessage': [
    'GObject.Object',
],
    'Gio.SocketListener': [
    'GObject.Object',
],
    'Gio.SocketService': [
    'Gio.SocketListener',
    'GObject.Object',
],
    'Gio.Subprocess': [
    'GObject.Object',
    'Gio.Initable',
],
    'Gio.SubprocessLauncher': [
    'GObject.Object',
],
    'Gio.Task': [
    'GObject.Object',
    'Gio.AsyncResult',
],
    'Gio.TcpConnection': [
    'Gio.SocketConnection',
    'Gio.IOStream',
    'GObject.Object',
],
    'Gio.TcpWrapperConnection': [
    'Gio.TcpConnection',
    'Gio.SocketConnection',
    'Gio.IOStream',
    'GObject.Object',
],
    'Gio.TestDBus': [
    'GObject.Object',
],
    'Gio.ThemedIcon': [
    'GObject.Object',
    'Gio.Icon',
],
    'Gio.ThreadedSocketService': [
    'Gio.SocketService',
    'Gio.SocketListener',
    'GObject.Object',
],
    'Gio.TlsCertificate': [
    'GObject.Object',
],
    'Gio.TlsConnection': [
    'Gio.IOStream',
    'GObject.Object',
],
    'Gio.TlsDatabase': [
    'GObject.Object',
],
    'Gio.TlsInteraction': [
    'GObject.Object',
],
    'Gio.TlsPassword': [
    'GObject.Object',
],
    'Gio.UnixConnection': [
    'Gio.SocketConnection',
    'Gio.IOStream',
    'GObject.Object',
],
    'Gio.UnixCredentialsMessage': [
    'Gio.SocketControlMessage',
    'GObject.Object',
],
    'Gio.UnixFDList': [
    'GObject.Object',
],
    'Gio.UnixFDMessage': [
    'Gio.SocketControlMessage',
    'GObject.Object',
],
    'Gio.UnixInputStream': [
    'Gio.InputStream',
    'Gio.FileDescriptorBased',
    'Gio.PollableInputStream',
    'GObject.Object',
],
    'Gio.UnixMountMonitor': [
    'GObject.Object',
],
    'Gio.UnixOutputStream': [
    'Gio.OutputStream',
    'Gio.FileDescriptorBased',
    'Gio.PollableOutputStream',
    'GObject.Object',
],
    'Gio.UnixSocketAddress': [
    'Gio.SocketAddress',
    'Gio.SocketConnectable',
    'GObject.Object',
],
    'Gio.Vfs': [
    'GObject.Object',
],
    'Gio.VolumeMonitor': [
    'GObject.Object',
],
    'Gio.ZlibCompressor': [
    'GObject.Object',
    'Gio.Converter',
],
    'Gio.ZlibDecompressor': [
    'GObject.Object',
    'Gio.Converter',
],
    'GdkPixbuf.Pixbuf': [
    'GObject.Object',
    'Gio.Icon',
    'Gio.LoadableIcon',
],
    'GdkPixbuf.PixbufAnimation': [
    'GObject.Object',
],
    'GdkPixbuf.PixbufAnimationIter': [
    'GObject.Object',
],
    'GdkPixbuf.PixbufLoader': [
    'GObject.Object',
],
    'GdkPixbuf.PixbufNonAnim': [
    'GdkPixbuf.PixbufAnimation',
    'GObject.Object',
],
    'GdkPixbuf.PixbufSimpleAnim': [
    'GdkPixbuf.PixbufAnimation',
    'GObject.Object',
],
    'GdkPixbuf.PixbufSimpleAnimIter': [
    'GdkPixbuf.PixbufAnimationIter',
    'GObject.Object',
],
    'GObject.Binding': [
    'GObject.Object',
],
    'GObject.InitiallyUnowned': [
    'GObject.Object',
],
    'GObject.ParamSpecBoolean': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecBoxed': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecChar': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecDouble': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecEnum': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecFlags': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecFloat': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecGType': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecInt': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecInt64': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecLong': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecObject': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecOverride': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecParam': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecPointer': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecString': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecUChar': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecUInt': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecUInt64': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecULong': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecUnichar': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecValueArray': [
    'GObject.ParamSpec',
],
    'GObject.ParamSpecVariant': [
    'GObject.ParamSpec',
],
    'GObject.TypeModule': [
    'GObject.Object',
    'GObject.TypePlugin',
],
}


interface StaticNamedClass<T> {
    new (...args: any[]): T
    name: string
}

/**
 * Casts between derived classes, performing a run-time type-check
 * and raising an exception if the cast fails. Allows casting to implemented
 * interfaces, too.
 */
export function giCast<T>(from_: GObject.Object, to_: StaticNamedClass<T>): T {
    const desc: string = from_.toString()
    let clsName: string|null = null
    for (const k of desc.split(" ")) {
        if (k.substring(0, 7) == "GIName:") {
            clsName = k.substring(7)
            break
        }
    }
    const toName = to_.name.replace("_", ".")

    if (toName === clsName)
        return ((from_ as any) as T)

    if (clsName) {
        const parents = inheritanceTable[clsName]
        if (parents) {
            if (parents.indexOf(toName) >= 0)
                return ((from_ as any) as T)
        }
    }

    throw Error("Invalid cast of " + desc + "(" + clsName + ") to " + toName)
}    
